<?php
	require_once('config.php');
	class ORMCuentaBanco{
		function __construct(){}
		private static function getConexion(){
			global $CONFIG;
			$con = ADONewConnection ('odbc_mssql');

			if (!$con->Connect ("Driver={SQL Server}; Server={$CONFIG['db_server']}; Database={$CONFIG['db_database']};",
				$CONFIG['db_user'], $CONFIG['db_password']))
				throw new Exception ("No se pudo realizar la conexión con la base de datos.");

			return $con;
		}
		static function getItems($cantidad,$omitir,$cuenta,$banco){
			$con=ORMCuentaBanco::getConexion();
			$rs=$con->Execute("EXECUTE ListarCuentasBanco ?,?,?,?", array($cantidad,$omitir,ifNullOrEmpty($cuenta),ifNullOrEmpty($banco)));
			if(!$rs) 
				return array();
			$datos = array();
			while(!$rs->EOF){
				$f = $rs->fields;
				$datos[] = array(
					'cuenta' => $f[0],
					'id_banco' => $f[1],
					'banco' => $f[2],
					'saldo_ini' => $f[3],
					'saldo_act' => $f[4]
				);
				$rs->MoveNext();
			}
			$rs->close();
			$con->close();

			return $datos;
		}
		static function GuardarCuentaBanco($cuenta,$banco,$saldo_inicial,$saldo_actual){
			$con=ORMCuentaBanco::getConexion();
			$rs=$con->Execute("EXECUTE AgregarCuenta ?,?,?,?",array($cuenta,$banco,$saldo_inicial,$saldo_actual));
			if(!$rs) return $con->ErrorMsg();
			
			$rs->close();
			$con->close();

			return true;
		}
		static function ActualizarCuentaBanco($cuenta,$banco,$saldo_inicial,$saldo_actual){
			$con=ORMCuentaBanco::getConexion();
			$rs=$con->Execute("EXECUTE ActualizarCuenta ?,?,?,?",array($cuenta,$banco,$saldo_inicial,$saldo_actual));
			if(!$rs) return $con->ErrorMsg();
			
			$rs->close();
			$con->close();

			return true;
		}
		static function EliminarCuentaBanco($cuenta){
			$con=ORMCuentaBanco::getConexion();
			$rs=$con->Execute("EXECUTE EliminarCuenta ?",array($cuenta));
			if(!$rs) return false;
			
			$rs->close();
			$con->close();

			return true;
		}
		static function ContarCuentasBanco($cuenta,$banco){
			$con=ORMCuentaBanco::getConexion();
			$rs=$con->Execute("EXECUTE ContarCuentasBanco ?,?",array(ifNullOrEmpty($cuenta),ifNullOrEmpty($banco)));
			if(!$rs) return 0;

			$f = $rs->fields[0];

			$rs->close();
			$con->close();

			return $f;
		}
	}
?>